/**
 * Created by Win on 2017/8/29.
 */
/*
 * zClip :: jQuery ZeroClipboard v1.1.1
 * http://steamdev.com/zclip
 *
 * Copyright 2011, SteamDev
 * Released under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Date: Wed Jun 01, 2011
 */

(function (a) {
    a.fn.zclip = function (c) {
        if (typeof c == "object" && !c.length) {
            var b = a.extend({
                path: "ZeroClipboard.swf",
                copy: null,
                beforeCopy: null,
                afterCopy: null,
                clickAfter: true,
                setHandCursor: true,
                setCSSEffects: true
            }, c);
            return this.each(function () {
                var e = a(this);
                if (e.is(":visible") && (typeof b.copy == "string" || a.isFunction(b.copy))) {
                    ZeroClipboard.setMoviePath(b.path);
                    var d = new ZeroClipboard.Client();
                    if (a.isFunction(b.copy)) {
                        e.bind("zClip_copy", b.copy)
                    }
                    if (a.isFunction(b.beforeCopy)) {
                        e.bind("zClip_beforeCopy", b.beforeCopy)
                    }
                    if (a.isFunction(b.afterCopy)) {
                        e.bind("zClip_afterCopy", b.afterCopy)
                    }
                    d.setHandCursor(b.setHandCursor);
                    d.setCSSEffects(b.setCSSEffects);
                    d.addEventListener("mouseOver", function (f) {
                        e.trigger("mouseenter")
                    });
                    d.addEventListener("mouseOut", function (f) {
                        e.trigger("mouseleave")
                    });
                    d.addEventListener("mouseDown", function (f) {
                        e.trigger("mousedown");
                        if (!a.isFunction(b.copy)) {
                            d.setText(b.copy)
                        } else {
                            d.setText(e.triggerHandler("zClip_copy"))
                        }
                        if (a.isFunction(b.beforeCopy)) {
                            e.trigger("zClip_beforeCopy")
                        }
                    });
                    d.addEventListener("complete", function (f, g) {
                        if (a.isFunction(b.afterCopy)) {
                            e.trigger("zClip_afterCopy")
                        } else {
                            if (g.length > 500) {
                                g = g.substr(0, 500) + "...\n\n(" + (g.length - 500) + " characters not shown)"
                            }
                            e.removeClass("hover");
                            alert("Copied text to clipboard:\n\n " + g)
                        }
                        if (b.clickAfter) {
                            e.trigger("click")
                        }
                    });
                    d.glue(e[0], e.parent()[0]);
                    a(window).bind("load resize", function () {
                        d.reposition()
                    })
                }
            })
        } else {
            if (typeof c == "string") {
                return this.each(function () {
                    var f = a(this);
                    c = c.toLowerCase();
                    var e = f.data("zclipId");
                    var d = a("#" + e + ".zclip");
                    if (c == "remove") {
                        d.remove();
                        f.removeClass("active hover")
                    } else {
                        if (c == "hide") {
                            d.hide();
                            f.removeClass("active hover")
                        } else {
                            if (c == "show") {
                                d.show()
                            }
                        }
                    }
                })
            }
        }
    }
})(jQuery);
var ZeroClipboard = {
    version: "1.0.7", clients: {}, moviePath: "ZeroClipboard.swf", nextId: 1, $: function (a) {
        if (typeof(a) == "string") {
            a = document.getElementById(a)
        }
        if (!a.addClass) {
            a.hide = function () {
                this.style.display = "none"
            };
            a.show = function () {
                this.style.display = ""
            };
            a.addClass = function (b) {
                this.removeClass(b);
                this.className += " " + b
            };
            a.removeClass = function (d) {
                var e = this.className.split(/\s+/);
                var b = -1;
                for (var c = 0; c < e.length; c++) {
                    if (e[c] == d) {
                        b = c;
                        c = e.length
                    }
                }
                if (b > -1) {
                    e.splice(b, 1);
                    this.className = e.join(" ")
                }
                return this
            };
            a.hasClass = function (b) {
                return !!this.className.match(new RegExp("\\s*" + b + "\\s*"))
            }
        }
        return a
    }, setMoviePath: function (a) {
        this.moviePath = a
    }, dispatch: function (d, b, c) {
        var a = this.clients[d];
        if (a) {
            a.receiveEvent(b, c)
        }
    }, register: function (b, a) {
        this.clients[b] = a
    }, getDOMObjectPosition: function (c, a) {
        var b = {
            left: 0,
            top: 0,
            width: c.width ? c.width : c.offsetWidth,
            height: c.height ? c.height : c.offsetHeight
        };
        if (c && (c != a)) {
            b.left += c.offsetLeft;
            b.top += c.offsetTop
        }
        return b
    }, Client: function (a) {
        this.handlers = {};
        this.id = ZeroClipboard.nextId++;
        this.movieId = "ZeroClipboardMovie_" + this.id;
        ZeroClipboard.register(this.id, this);
        if (a) {
            this.glue(a)
        }
    }
};
ZeroClipboard.Client.prototype = {
    id: 0,
    ready: false,
    movie: null,
    clipText: "",
    handCursorEnabled: true,
    cssEffects: true,
    handlers: null,
    glue: function (d, b, e) {
        this.domElement = ZeroClipboard.$(d);
        var f = 99;
        if (this.domElement.style.zIndex) {
            f = parseInt(this.domElement.style.zIndex, 10) + 1
        }
        if (typeof(b) == "string") {
            b = ZeroClipboard.$(b)
        } else {
            if (typeof(b) == "undefined") {
                b = document.getElementsByTagName("body")[0]
            }
        }
        var c = ZeroClipboard.getDOMObjectPosition(this.domElement, b);
        this.div = document.createElement("div");
        this.div.className = "zclip";
        this.div.id = "zclip-" + this.movieId;
        $(this.domElement).data("zclipId", "zclip-" + this.movieId);
        var a = this.div.style;
        a.position = "absolute";
        a.left = "" + c.left + "px";
        a.top = "" + c.top + "px";
        a.width = "" + c.width + "px";
        a.height = "" + c.height + "px";
        a.zIndex = f;
        if (typeof(e) == "object") {
            for (addedStyle in e) {
                a[addedStyle] = e[addedStyle]
            }
        }
        b.appendChild(this.div);
        this.div.innerHTML = this.getHTML(c.width, c.height)
    },
    getHTML: function (d, a) {
        var c = "";
        var b = "id=" + this.id + "&width=" + d + "&height=" + a;
        if (navigator.userAgent.match(/MSIE/)) {
            var e = location.href.match(/^https/i) ? "https://" : "http://";
            c += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' + e + 'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="' + d + '" height="' + a + '" id="' + this.movieId + '" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="' + ZeroClipboard.moviePath + '" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="' + b + '"/><param name="wmode" value="transparent"/></object>'
        } else {
            c += '<embed id="' + this.movieId + '" src="' + ZeroClipboard.moviePath + '" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="' + d + '" height="' + a + '" name="' + this.movieId + '" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="' + b + '" wmode="transparent" />'
        }
        return c
    },
    hide: function () {
        if (this.div) {
            this.div.style.left = "-2000px"
        }
    },
    show: function () {
        this.reposition()
    },
    destroy: function () {
        if (this.domElement && this.div) {
            this.hide();
            this.div.innerHTML = "";
            var a = document.getElementsByTagName("body")[0];
            try {
                a.removeChild(this.div)
            } catch (b) {
            }
            this.domElement = null;
            this.div = null
        }
    },
    reposition: function (c) {
        if (c) {
            this.domElement = ZeroClipboard.$(c);
            if (!this.domElement) {
                this.hide()
            }
        }
        if (this.domElement && this.div) {
            var b = ZeroClipboard.getDOMObjectPosition(this.domElement);
            var a = this.div.style;
            a.left = "" + b.left + "px";
            a.top = "" + b.top + "px"
        }
    },
    setText: function (a) {
        this.clipText = a;
        if (this.ready) {
            this.movie.setText(a)
        }
    },
    addEventListener: function (a, b) {
        a = a.toString().toLowerCase().replace(/^on/, "");
        if (!this.handlers[a]) {
            this.handlers[a] = []
        }
        this.handlers[a].push(b)
    },
    setHandCursor: function (a) {
        this.handCursorEnabled = a;
        if (this.ready) {
            this.movie.setHandCursor(a)
        }
    },
    setCSSEffects: function (a) {
        this.cssEffects = !!a
    },
    receiveEvent: function (d, f) {
        d = d.toString().toLowerCase().replace(/^on/, "");
        switch (d) {
            case"load":
                this.movie = document.getElementById(this.movieId);
                if (!this.movie) {
                    var c = this;
                    setTimeout(function () {
                        c.receiveEvent("load", null)
                    }, 1);
                    return
                }
                if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
                    var c = this;
                    setTimeout(function () {
                        c.receiveEvent("load", null)
                    }, 100);
                    this.ready = true;
                    return
                }
                this.ready = true;
                try {
                    this.movie.setText(this.clipText)
                } catch (h) {
                }
                try {
                    this.movie.setHandCursor(this.handCursorEnabled)
                } catch (h) {
                }
                break;
            case"mouseover":
                if (this.domElement && this.cssEffects) {
                    this.domElement.addClass("hover");
                    if (this.recoverActive) {
                        this.domElement.addClass("active")
                    }
                }
                break;
            case"mouseout":
                if (this.domElement && this.cssEffects) {
                    this.recoverActive = false;
                    if (this.domElement.hasClass("active")) {
                        this.domElement.removeClass("active");
                        this.recoverActive = true
                    }
                    this.domElement.removeClass("hover")
                }
                break;
            case"mousedown":
                if (this.domElement && this.cssEffects) {
                    this.domElement.addClass("active")
                }
                break;
            case"mouseup":
                if (this.domElement && this.cssEffects) {
                    this.domElement.removeClass("active");
                    this.recoverActive = false
                }
                break
        }
        if (this.handlers[d]) {
            for (var b = 0, a = this.handlers[d].length; b < a; b++) {
                var g = this.handlers[d][b];
                if (typeof(g) == "function") {
                    g(this, f)
                } else {
                    if ((typeof(g) == "object") && (g.length == 2)) {
                        g[0][g[1]](this, f)
                    } else {
                        if (typeof(g) == "string") {
                            window[g](this, f)
                        }
                    }
                }
            }
        }
    }
};